package it.csi.finregio.finreges.dto;

import java.io.Serializable;
import org.apache.commons.lang.builder.ToStringBuilder;
import org.apache.commons.lang.builder.EqualsBuilder;
import org.apache.commons.lang.builder.HashCodeBuilder;

public class DestinatarioScheda implements Serializable {

	/**
	 * 
	 */
	private static final long serialVersionUID = -9166200121020064346L;
	private String idDestinatario;
	private Scheda scheda;
	private String destinatari;
	private String destinatariPlain;
	private String procedura;
	private String proceduraPlain;
	private String finanziamenti;
	private String finanziamentiPlain;
	private String noteProcedura;
	private String noteFinanziamenti;
	private String noteDestinatari;
	private String linkAssEnte;
	public String getIdDestinatario() {
		return idDestinatario;
	}
	public void setIdDestinatario(String idDestinatario) {
		this.idDestinatario = idDestinatario;
	}
	public Scheda getScheda() {
		return scheda;
	}
	public void setScheda(Scheda scheda) {
		this.scheda = scheda;
	}
	public String getDestinatari() {
		return destinatari;
	}
	public void setDestinatari(String destinatari) {
		this.destinatari = destinatari;
	}
	public String getDestinatariPlain() {
		return destinatariPlain==null?"":destinatariPlain;
	}
	public void setDestinatariPlain(String destinatariPlain) {
		this.destinatariPlain = destinatariPlain;
	}
	public String getProcedura() {
		return procedura;
	}
	public void setProcedura(String procedura) {
		this.procedura = procedura;
	}
	public String getProceduraPlain() {
		return proceduraPlain==null?"":proceduraPlain;
	}
	public void setProceduraPlain(String proceduraPlain) {
		this.proceduraPlain = proceduraPlain;
	}
	public String getFinanziamenti() {
		return finanziamenti;
	}
	public void setFinanziamenti(String finanziamenti) {
		this.finanziamenti = finanziamenti;
	}
	public String getFinanziamentiPlain() {
		return finanziamentiPlain==null?"":finanziamentiPlain;
	}
	public void setFinanziamentiPlain(String finanziamentiPlain) {
		this.finanziamentiPlain = finanziamentiPlain;
	}
	public String getNoteProcedura() {
		return noteProcedura;
	}
	public void setNoteProcedura(String noteProcedura) {
		this.noteProcedura = noteProcedura;
	}
	public String getNoteFinanziamenti() {
		return noteFinanziamenti;
	}
	public void setNoteFinanziamenti(String noteFinanziamenti) {
		this.noteFinanziamenti = noteFinanziamenti;
	}
	/**
	 * @see java.lang.Object#toString()
	 */
	public String toString() {
		return new ToStringBuilder(this).append("finanziamenti",
				this.finanziamenti).append("scheda", this.scheda).append(
				"destinatariPlain", this.destinatariPlain).append(
				"destinatari", this.destinatari).append("finanziamentiPlain",
				this.finanziamentiPlain).append("noteFinanziamenti",
				this.noteFinanziamenti).append("proceduraPlain",
				this.proceduraPlain)
				.append("noteProcedura", this.noteProcedura).append(
						"idDestinatario", this.idDestinatario).append(
						"procedura", this.procedura).toString();
	}
	/**
	 * @see java.lang.Object#equals(Object)
	 */
	public boolean equals(Object object) {
		if (!(object instanceof DestinatarioScheda)) {
			return false;
		}
		DestinatarioScheda rhs = (DestinatarioScheda) object;
		return new EqualsBuilder().appendSuper(super.equals(object)).append(
				this.noteProcedura, rhs.noteProcedura).append(
				this.proceduraPlain, rhs.proceduraPlain).append(
				this.destinatariPlain, rhs.destinatariPlain).append(
				this.scheda, rhs.scheda).append(this.destinatari,
				rhs.destinatari).append(this.procedura, rhs.procedura).append(
				this.noteFinanziamenti, rhs.noteFinanziamenti).append(
				this.finanziamenti, rhs.finanziamenti).append(
				this.finanziamentiPlain, rhs.finanziamentiPlain).append(
				this.idDestinatario, rhs.idDestinatario).isEquals();
	}
	/**
	 * @see java.lang.Object#hashCode()
	 */
	public int hashCode() {
		return new HashCodeBuilder(-1170660635, -604964313).appendSuper(
				super.hashCode()).append(this.noteProcedura).append(
				this.proceduraPlain).append(this.destinatariPlain).append(
				this.scheda).append(this.destinatari).append(this.procedura)
				.append(this.noteFinanziamenti).append(this.finanziamenti)
				.append(this.finanziamentiPlain).append(this.idDestinatario)
				.toHashCode();
	}
	public String getNoteDestinatari() {
		// TODO Auto-generated method stub
		return noteDestinatari;
	}
	public void setNoteDestinatari(String noteDestinatari) {
		this.noteDestinatari = noteDestinatari;
	}
	public void setLinkAssEnte(String linkAssEnte) {
		this.linkAssEnte = linkAssEnte;
		
	}
	public String getLinkAssEnte() {
		return linkAssEnte;
	}
}
